home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / sm.vim < prev    next >
Encoding:
Text File  |  2001-05-16  |  3.1 KB  |  95 lines

  1. " Vim syntax file
  2. " Language:    sendmail
  3. " Maintainer:    Dr. Charles E. Campbell, Jr. <Charles.E.Campbell.1@gsfc.nasa.gov>
  4. " Last Change:    October 27, 2000
  5.  
  6. " For version 5.x: Clear all syntax items
  7. " For version 6.x: Quit when a syntax file was already loaded
  8. if version < 600
  9.   syntax clear
  10. elseif exists("b:current_syntax")
  11.   finish
  12. endif
  13.  
  14. " Comments
  15. syn match smComment    "^#.*$"
  16.  
  17. " Definitions, Classes, Files, Options, Precedence, Trusted Users, Mailers
  18. syn match smDefine    "^[CDF]."
  19. syn match smDefine    "^O[AaBcdDeFfgHiLmNoQqrSsTtuvxXyYzZ]"
  20. syn match smDefine    "^O\s"he=e-1
  21. syn match smDefine    "^M[a-zA-Z0-9]\+,"he=e-1
  22. syn match smDefine    "^T"    nextgroup=smTrusted
  23. syn match smDefine    "^P"    nextgroup=smMesg
  24. syn match smTrusted    "\S\+$"        contained
  25. syn match smMesg        "\S*="he=e-1    contained nextgroup=smPrecedence
  26. syn match smPrecedence    "-\=[0-9]\+"        contained
  27.  
  28. " Header Format  H?list-of-mailer-flags?name: format
  29. syn match smHeaderSep contained "[?:]"
  30. syn match smHeader    "^H\(?[a-zA-Z]\+?\)\=[-a-zA-Z_]\+:" contains=smHeaderSep
  31.  
  32. " Variables
  33. syn match smVar        "\$[a-z\.\|]"
  34.  
  35. " Rulesets
  36. syn match smRuleset    "^S\d*"
  37.  
  38. " Rewriting Rules
  39. syn match smRewrite    "^R"            skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsUser
  40.  
  41. syn match smRewriteLhsUser    contained "[^\t$]\+"        skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsSep
  42. syn match smRewriteLhsToken    contained "\(\$[-*+]\|\$[-=][A-Za-z]\|\$Y\)\+"    skipwhite nextgroup=smRewriteLhsUser,smRewriteLhsSep
  43.  
  44. syn match smRewriteLhsSep    contained "\t\+"            skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsUser
  45.  
  46. syn match smRewriteRhsUser    contained "[^\t$]\+"        skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsSep
  47. syn match smRewriteRhsToken    contained "\(\$\d\|\$>\d\|\$#\|\$@\|\$:[-_a-zA-Z]\+\|\$[[\]]\|\$@\|\$:\|\$[A-Za-z]\)\+" skipwhite nextgroup=smRewriteRhsUser,smRewriteRhsSep
  48.  
  49. syn match smRewriteRhsSep    contained "\t\+"            skipwhite nextgroup=smRewriteComment,smRewriteRhsSep
  50. syn match smRewriteRhsSep    contained "$"
  51.  
  52. syn match smRewriteComment    contained "[^\t$]*$"
  53.  
  54. " Clauses
  55. syn match smClauseError        "\$\."
  56. syn match smElse        contained    "\$|"
  57. syn match smClauseCont    contained    "^\t"
  58. syn region smClause    matchgroup=Delimiter start="\$?." matchgroup=Delimiter end="\$\." contains=smElse,smClause,smVar,smClauseCont
  59.  
  60. " Define the default highlighting.
  61. " For version 5.7 and earlier: only when not done already
  62. " For version 5.8 and later: only when an item doesn't have highlighting yet
  63. if version >= 508 || !exists("did_smil_syntax_inits")
  64.   if version < 508
  65.     let did_smil_syntax_inits = 1
  66.     command -nargs=+ HiLink hi link <args>
  67.   else
  68.     command -nargs=+ HiLink hi def link <args>
  69.   endif
  70.  
  71.   HiLink smClause    Special
  72.   HiLink smClauseError    Error
  73.   HiLink smComment    Comment
  74.   HiLink smDefine    Statement
  75.   HiLink smElse        Delimiter
  76.   HiLink smHeader    Statement
  77.   HiLink smHeaderSep    String
  78.   HiLink smMesg        Special
  79.   HiLink smPrecedence    Number
  80.   HiLink smRewrite    Statement
  81.   HiLink smRewriteComment    Comment
  82.   HiLink smRewriteLhsToken    String
  83.   HiLink smRewriteLhsUser    Statement
  84.   HiLink smRewriteRhsToken    String
  85.   HiLink smRuleset    Preproc
  86.   HiLink smTrusted    Special
  87.   HiLink smVar        String
  88.  
  89.   delcommand HiLink
  90. endif
  91.  
  92. let b:current_syntax = "sm"
  93.  
  94. " vim: ts=18
  95.